package br.com.ia.bean;

import java.util.Comparator;
import java.util.TreeSet;

/**
 *
 * @author Jonas Cezar
 */
public class Host {

    private String rotulo;
    private String ip;
    private TreeSet<Aresta> arestas;

    public Host() {
        arestas = new TreeSet<Aresta>(new Comparator<Aresta>() {

            @Override
            public int compare(Aresta o1, Aresta o2) {
                return o1.getCusto() < o2.getCusto() ? -1 : (o1.getCusto() > o2.getCusto() ? +1 : +1);
            }
        });
    }

    public Host(String rotulo, String ip) {
        this.rotulo = rotulo;
        this.ip = ip;
        arestas = new TreeSet<Aresta>(new Comparator<Aresta>() {

            @Override
            public int compare(Aresta o1, Aresta o2) {
                return o1.getCusto() < o2.getCusto() ? -1 : (o1.getCusto() > o2.getCusto() ? +1 : +1);
            }
        });
    }

    public TreeSet<Aresta> getArestas() {
        return arestas;
    }

    public void setArestas(TreeSet<Aresta> arestas) {
        this.arestas = arestas;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public String getRotulo() {
        return rotulo;
    }

    public void setRotulo(String rotulo) {
        this.rotulo = rotulo;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Host other = (Host) obj;
        if ((this.rotulo == null) ? (other.rotulo != null) : !this.rotulo.equals(other.rotulo)) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 97 * hash + (this.rotulo != null ? this.rotulo.hashCode() : 0);
        return hash;
    }
}
